gboolean ret = FALSE;
GError *temp_error = NULL;
gs_unref_object GFileEnumerator *enumerator = NULL;
- gs_unref_object GFileInfo *file_info = NULL;
enumerator = g_file_enumerate_children (dir, OSTREE_GIO_FAST_QUERYINFO,
G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
goto out;
}
- while ((file_info = g_file_enumerator_next_file (enumerator, cancellable, &temp_error)) != NULL)
+ while (TRUE)
{
+ GFileInfo *file_info;
const char *name;
guint32 type;
+ if (!gs_file_enumerator_iterate (enumerator, &file_info, NULL,
+ NULL, error))
+ goto out;
+ if (file_info == NULL)
+ break;
+
name = g_file_info_get_attribute_byte_string (file_info, "standard::name");
type = g_file_info_get_attribute_uint32 (file_info, "standard::type");
GFile *objdir = g_file_get_child (g_file_enumerator_get_container (enumerator), name);
g_ptr_array_add (object_dirs, objdir); /* transfer ownership */
}
- g_clear_object (&file_info);
}
- if (file_info == NULL && temp_error != NULL)
- {
- g_propagate_error (error, temp_error);
- goto out;
- }
- if (!g_file_enumerator_close (enumerator, cancellable, error))
- goto out;
ret = TRUE;
out:
GError **error)
{
gboolean ret = FALSE;
- GError *temp_error = NULL;
guint i;
OstreeRepoMode repo_mode;
ot_lptrarray GPtrArray *object_dirs = NULL;
dirname = gs_file_get_basename_cached (objdir);
- while ((file_info = g_file_enumerator_next_file (enumerator, cancellable, &temp_error)) != NULL)
+ while (TRUE)
{
const char *name;
const char *dot;
GString *checksum;
gboolean skip;
+ if (!gs_file_enumerator_iterate (enumerator, &file_info, NULL,
+ NULL, error))
+ goto out;
+ if (file_info == NULL)
+ break;
+
name = g_file_info_get_attribute_byte_string (file_info, "standard::name");
type = g_file_info_get_attribute_uint32 (file_info, "standard::type");
if (type == G_FILE_TYPE_DIRECTORY)
- {
- g_clear_object (&file_info);
- continue;
- }
+ continue;
switch (repo_mode)
{
g_assert (dot);
if ((dot - name) != 62)
- {
- g_clear_object (&file_info);
- continue;
- }
+ continue;
checksum = g_string_new (dirname);
g_string_append_len (checksum, name, 62);
key->ino = g_file_info_get_attribute_uint64 (file_info, "unix::inode");
g_hash_table_replace (devino_cache, key, g_string_free (checksum, FALSE));
- g_clear_object (&file_info);
}
-
- if (temp_error != NULL)
- {
- g_propagate_error (error, temp_error);
- goto out;
- }
- if (!g_file_enumerator_close (enumerator, NULL, error))
- goto out;
}
ret = TRUE;
GError **error)
{
gboolean ret = FALSE;
- GError *temp_error = NULL;
- ot_lobj GFileInfo *file_info = NULL;
ot_lobj GFileEnumerator *enumerator = NULL;
- ot_lobj GFile *child = NULL;
enumerator = g_file_enumerate_children (dir, OSTREE_GIO_FAST_QUERYINFO,
G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
if (!enumerator)
goto out;
- while ((file_info = g_file_enumerator_next_file (enumerator, cancellable, &temp_error)) != NULL)
+ while (TRUE)
{
- g_clear_object (&child);
- child = g_file_get_child (dir, g_file_info_get_name (file_info));
+ GFileInfo *file_info = NULL;
+ GFile *child = NULL;
+
+ if (!gs_file_enumerator_iterate (enumerator, &file_info, &child,
+ NULL, error))
+ goto out;
+ if (file_info == NULL)
+ break;
+
if (g_file_info_get_file_type (file_info) == G_FILE_TYPE_DIRECTORY)
{
if (!enumerate_refs_recurse (repo, base, child, refs, cancellable, error))
g_hash_table_insert (refs, g_file_get_relative_path (base, child), contents);
}
-
- g_clear_object (&file_info);
- }
- if (temp_error != NULL)
- {
- g_propagate_error (error, temp_error);
- goto out;
}
ret = TRUE;
GError **error)
{
gboolean ret = FALSE;
- GError *temp_error = NULL;
gboolean repo_dir_was_empty = FALSE;
OstreeRepoCommitFilterResult filter_result;
ot_lobj OstreeRepoFile *repo_dir = NULL;
if (!dir_enum)
goto out;
- while ((child_info = g_file_enumerator_next_file (dir_enum, cancellable, &temp_error)) != NULL)
+ while (TRUE)
{
- ot_lobj GFileInfo *modified_info = NULL;
- ot_lobj GFile *child = NULL;
- ot_lobj OstreeMutableTree *child_mtree = NULL;
- const char *name = g_file_info_get_name (child_info);
+ GFileInfo *child_info;
+ gs_unref_object GFile *child = NULL;
+ gs_unref_object GFileInfo *modified_info = NULL;
+ gs_unref_object OstreeMutableTree *child_mtree = NULL;
+ const char *name;
+
+ if (!gs_file_enumerator_iterate (dir_enum, &child_info, NULL,
+ cancellable, error))
+ goto out;
+ if (child_info == NULL)
+ break;
+ name = g_file_info_get_name (child_info);
g_ptr_array_add (path, (char*)name);
filter_result = apply_commit_filter (self, modifier, path, child_info, &modified_info);
g_ptr_array_remove_index (path, path->len - 1);
}
-
- g_clear_object (&child_info);
- }
- if (temp_error != NULL)
- {
- g_propagate_error (error, temp_error);
- goto out;
}
}